
namespace Profit.ViewModels
{
    using Views.Interfaces;
    using Resources;

    public sealed class ConfirmationViewModel : ViewModelBase<IConfirmationView>
    {
        /// <summary>
        /// Creates a new instance
        /// </summary>
        /// <param name="view">The IView instance associated</param>
        public ConfirmationViewModel(IConfirmationView view) 
            : base(view)
        {
            this.Title = Messages.label_confirmation;
            this.ShowButtonCancel = true;
        }

        /// <summary>
        /// Creates a new instance
        /// </summary>
        /// <param name="view">The IView instance associated</param>
        /// <param name="message">The message to display</param>
        public ConfirmationViewModel(IConfirmationView view, string message)
            : this(view)
        {
            ConfirmationMessage = message;
        }
        /// <summary>
        /// Obtains or defines the confirmation message to display
        /// </summary>
        public string ConfirmationMessage { get; set; }
        /// <summary>
        /// Obtains or defines the ok button content
        /// </summary>
        public string ButtonOkContent { get; set; }
        /// <summary>
        /// Obtains or defines the cancel button content
        /// </summary>
        public string ButtonCancelContent { get; set; }
        /// <summary>
        /// Obtains or defines if the button cancel is displayed
        /// </summary>
        public bool ShowButtonCancel { get; set; }
        /// <summary>
        /// Obtains or defines the view title
        /// </summary>
        public string Title { get; set; }
    }
}